fix(customizer): vendor nemo-gym in the RL image so native-v1 can install - #1856
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 12 included reviews per hour; 10 remain after this review. 📝 WalkthroughWalkthroughChangesThe RL image pins a newer immutable RL commit. Its Docker build creates and validates a NeMo-Gym wheel, copies it into NeMo-Gym wheel packaging
Sequence Diagram(s)sequenceDiagram
participant DockerBuild as Docker build
participant GymSource as Pinned Gym source
participant BuildScript as build-gym-wheel.sh
participant WheelStore as /opt/gym-wheels
participant ServerInstall as Server installation
DockerBuild->>GymSource: copy pinned source
DockerBuild->>BuildScript: build and validate wheel
BuildScript->>WheelStore: publish validated wheel
ServerInstall->>WheelStore: resolve nemo-gym locally
Suggested reviewers: Merge Risk: ⚪ Minimal · up to The RL image now provides the fork-specific nemo-gym package locally, allowing native-v1 environments to install it without requiring an unavailable index version. The packaged wheel includes build-time validation for versioning and required configuration resources, with no remaining merge-blocking risk identified. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
gabwow
left a comment
There was a problem hiding this comment.
nit: I think some of the agent comments are hurting readability rather than helping (particularly in the nmp-rl-base). If you agree feel free to remove the ones you fine unneeded. However, this is non-blocking and if you find them helpful, leave them in.
|
…tall Signed-off-by: anubhutiv <anubhutiv@nvidia.com>
lint-copyright-headers flagged the new build script, which failed "Lint all" and the aggregate CI status with it. Also trims the comment block flagged in review. One of those lines was wrong as well: it claimed the environment package's own wheelhouse wins because configure_environment_wheelhouse prepends it, but uv resolves find-links by name and version, not by entry order, so the image's wheel wins either way. Signed-off-by: anubhutiv <anubhutiv@nvidia.com>
Signed-off-by: anubhutiv <anubhutiv@nvidia.com>
51c8237 to
aca026d
Compare
* fix(jobs): refuse deleting active jobs (#1799) * fix(jobs): refuse deleting active jobs Signed-off-by: Matt Kornfield <mkornfield@nvidia.com> * chore(sdk): sync OpenAPI context Signed-off-by: Matt Kornfield <mkornfield@nvidia.com> * fix(jobs): serialize job deletion cleanup Signed-off-by: Matt Kornfield <mkornfield@nvidia.com> * fix(jobs): address delete cleanup review Signed-off-by: Matt Kornfield <mkornfield@nvidia.com> * test(jobs): cover delete create serialization Signed-off-by: Matt Kornfield <mkornfield@nvidia.com> * fix(jobs): address ci and review followups Signed-off-by: Matt Kornfield <mkornfield@nvidia.com> --------- Signed-off-by: Matt Kornfield <mkornfield@nvidia.com> * fix(customizer): vendor nemo-gym in the RL image so native-v1 can install (#1856) * fix(customizer): vendor nemo-gym in the RL image so native-v1 can install Signed-off-by: anubhutiv <anubhutiv@nvidia.com> * chore(customizer): add SPDX header and trim gym-wheel comments lint-copyright-headers flagged the new build script, which failed "Lint all" and the aggregate CI status with it. Also trims the comment block flagged in review. One of those lines was wrong as well: it claimed the environment package's own wheelhouse wins because configure_environment_wheelhouse prepends it, but uv resolves find-links by name and version, not by entry order, so the image's wheel wins either way. Signed-off-by: anubhutiv <anubhutiv@nvidia.com> * update rl ref Signed-off-by: anubhutiv <anubhutiv@nvidia.com> --------- Signed-off-by: anubhutiv <anubhutiv@nvidia.com> * docs: align release notes setup guidance (#1861) Signed-off-by: Matt Kornfield <mkornfield@nvidia.com> * docs: backport published slug and href fixes to release/0.5 (#1852) * docs: retarget self-managed-deployment links to kubernetes-deployment Published MDX still hardcodes /documentation/self-managed-deployment/ after the nav slug became kubernetes-deployment, so those pages 404. Rewrite the hrefs and add Fern redirects for the old slug, including the support-matrix Helm install link that pointed at a section URL with no page. NVBug 6722623 / NPLAT-51 Signed-off-by: Glody Guo <jinxiang@nvidia.com> (cherry picked from commit 5e388eb) Signed-off-by: Glody Guo <jinxiang@nvidia.com> * docs: pin OpenSandbox how-to slug to open-sandbox Fern kebab-cases the page title OpenSandbox to open-sandbox, but internal hrefs still used /setup/helm/opensandbox and 404. Pin the nav slug and retarget those leaf links. opensandbox-kata and the GitHub example overlay path are unchanged. NVBug 6722631 / NPLAT-53 Signed-off-by: Glody Guo <jinxiang@nvidia.com> (cherry picked from commit dfd7bfb) Signed-off-by: Glody Guo <jinxiang@nvidia.com> * docs: drop stale /tutorials/ from Models and Inference links Run Inference and Deploy Models are published directly under /documentation/models-and-inference/, but remaining hrefs still include /tutorials/ and 404. Update those links, pin the Deploy Models add-external-providers fragment, and redirect the old URLs. NVBug 6722632 / NPLAT-54 Signed-off-by: Glody Guo <jinxiang@nvidia.com> (cherry picked from commit f5bbdc4) Signed-off-by: Glody Guo <jinxiang@nvidia.com> * docs: pin Studio Plugin UIs nav slug to plugins Studio already links Iron Swarm to /documentation/studio/plugins, but Fern kebab-cases "Plugin UIs in NeMo Studio" to plugin-u-is, so that page 404s. Pin slug: plugins and redirect the generated slug. NVBug 6722634 / NPLAT-55 Signed-off-by: Glody Guo <jinxiang@nvidia.com> (cherry picked from commit a44480d) Signed-off-by: Glody Guo <jinxiang@nvidia.com> * docs: update Helm chart documentation URLs after nav slug changes helm show readme, NOTES.txt, and the generated Helm reference still point at /documentation/self-managed-deployment/... and the relative examples/opensandbox path, which Fern publishes as a missing docs page. Point How-to URLs at kubernetes-deployment / open-sandbox, link the overlay to the GitHub tree, and teach sync-helm-docs.mjs to keep those rewrites on regen. NVBug 6722635 / NPLAT-56 Signed-off-by: Glody Guo <jinxiang@nvidia.com> (cherry picked from commit 356778c) Signed-off-by: Glody Guo <jinxiang@nvidia.com> * docs: retarget current-release OpenSandbox hrefs after slug pin The 0.5 notes added OpenSandbox links after #1794. Pinning the nav slug to open-sandbox leaves those current-release hrefs as 404s. Signed-off-by: Glody Guo <jinxiang@nvidia.com> --------- Signed-off-by: Glody Guo <jinxiang@nvidia.com> * docs: fix executable Evaluator and Auditor examples (#1712) (#1831) * docs: fix executable evaluator and auditor examples * docs: address executable example review feedback * docs: align custom metric input reference --------- (cherry picked from commit e9209a0) Signed-off-by: puhuim <puhuim@nvidia.com> Co-authored-by: puhuim <puhuim@nvidia.com> --------- Signed-off-by: Matt Kornfield <mkornfield@nvidia.com> Signed-off-by: anubhutiv <anubhutiv@nvidia.com> Signed-off-by: Glody Guo <jinxiang@nvidia.com> Signed-off-by: puhuim <puhuim@nvidia.com> Co-authored-by: Anubhuti Vyas <34252936+anubhutivyas@users.noreply.github.com> Co-authored-by: Glody Guo <jinxiang@nvidia.com> Co-authored-by: gabwow <aaron.gabow@gmail.com> Co-authored-by: puhuim <puhuim@nvidia.com>
Summary
For every Gym server, Gym checks whether it is an editable install in the working directory. If it is not, it installs nemo-gym from a wheel pinned to the parent venv's version: https://github.com/soluwalana/Gym/blob/nmp/customizer/nemo_gym/cli/setup_command.py#L80
A staged environment FileSet is never an editable install, so every native-v1 server takes that path and asks an index for
nemo-gym==0.5.0rc0. That is our fork's version and it is not published anywhere, PyPI has 0.5.0 and 0.5.1, no rc0. So the server venv never builds and the job fails at spin-upThis affects every native-v1 environment.
Related Issue
Changes
UV_FIND_LINKS=/opt/gym-wheels. Gym's install then finds it locally, and everything else still comes from the index as before.0.5.0is not an option, the server venv would run upstream Gym while the actor runs our fork.UV_FIND_LINKSis additive and takes multiple paths, so it does not change how any other dependency resolves. It holds one wheel: nemo-gym.Type of Change
Quality Gates
Verification
Signed-off-by:traileruv run pre-commit run -apasses, or any blocked checks are identified belowTargeted validation:
Summary by CodeRabbit
New Features
Bug Fixes
Chores